﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyNganHangDe.BLL;
using QuanLyNganHangDe.DAL;
using QuanLyNganHangDe.DAL.Models;


namespace QuanLyNganHangDe.GUI
{
    public partial class FormDonViPhuTrach_Detail : Form
    {
        public DonViPhuTrach donViPhuTrach
        {
            get;
            set;
        }

        public bool IsAdding { get; private set; }
        public FormDonViPhuTrach_Detail(bool isAdding, DonViPhuTrach x)
        {
            InitializeComponent();
            this.IsAdding = isAdding;
            this.donViPhuTrach = x;
            if (this.IsAdding)
            {
                txtMaDonVi.Enabled = true;
                txtMaDonVi.Focus();
            }
            else
            {
                DisplayObject();
                txtMaDonVi.Enabled = false;
                txtTenDonVi.Focus();
            }
        }

        private void DisplayObject()
        {
            txtMaDonVi.Text = donViPhuTrach.MaDonVi;
            txtTenDonVi.Text = donViPhuTrach.TenDonVi;
        }

        private void OnOKClick(object sender, EventArgs e)
        {
            #region Kiểm tra tính hợp lệ của dữ liệu
            var hasError = false;
            epMain.Clear();
            var maDonVi = txtMaDonVi.Text.Trim();
            if (string.IsNullOrEmpty(maDonVi))
            {
                epMain.SetError(txtMaDonVi, "Không được bỏ trống mã đơn vị phụ trách");
                hasError = true;
                return;
            }
            var tenDonVi= txtTenDonVi.Text.Trim();
            if (string.IsNullOrEmpty(tenDonVi))
            {
                epMain.SetError(txtTenDonVi, "Không được bỏ trống tên đơn vị phụ trách");
                hasError = true;
                return;
            }
            #endregion

            if (hasError)
                return;

            try
            {
                if (this.IsAdding)
                    BizDonViPhuTrach.AddNew(maDonVi, tenDonVi);
                else
                    BizDonViPhuTrach.Update(maDonVi, tenDonVi);

                this.donViPhuTrach.MaDonVi= maDonVi;
                this.donViPhuTrach.TenDonVi= tenDonVi;
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            }
            catch (Exception exc)
            {
                DialogUtils.ShowError(exc.Message);
            }
        }

        private void OnLoad(object sender, EventArgs e)
        {
        }

        private void OnTenLoaiHinhKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                e.SuppressKeyPress = true;
                //e.Handled = true;
                btnOK.PerformClick();
            }
        }

        private void OnMaLoaiHinhKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                e.SuppressKeyPress = true;
                //e.Handled = true;
                //txtTenDonVi.Focus();
                btnOK.PerformClick();
            }
        }
    }
}
